package 四种风格.事件系统;

public class Main2 {
    public static void main(String[] args) {
        String inputFilePath = args[0];
        String outputFilePath = args[1];

        // 创建主题
        KWICSubject kwicSubject = new KWICSubject();
        // 创建观察者
        Input input = new Input(inputFilePath);
        Shift shift = new Shift(input.getLineTxt());
        Alphabetizer alphabetizer = new Alphabetizer(shift.getKwicList());
        Output output = new Output(alphabetizer.getKwicList(), outputFilePath);

        // 将观察者加入主题
        kwicSubject.addObserver(input);
        kwicSubject.addObserver(shift);
        kwicSubject.addObserver(alphabetizer);
        kwicSubject.addObserver(output);
        // 逐步调用各个观察者
        kwicSubject.startKWIC();
        System.out.println(input.getLineTxt());
    }

}
